#ifndef __CLOUD_H
#define __CLOUD_H

/*
	cloud.h
	Author: Jason Vance
	Date: 26 Nov 2012
	Description: The cloud object is a passive object in the game,
		it just kind of floats around like a cloud should
*/

#include "entity.h"

#include "vector.h"

class CCamera;
class CExplosion;
class CObject;
class CTexture;

class CCloud : public CEntity
{
private:
	void SetupCloudTexture();

protected:
	void OnAnimate(scalar_t deltaTime);
	void OnCollision(CObject* collisionObject);
	void OnDraw(CCamera* camera);
	void OnPrepare();

public:
	
	float pitch;			// direction cloud points
	float distanceTravel;	// distance cloud has travelled
	CVector forward;		// forward vector of cloud (for pitch/dir)
	bool isExplosion;

	CTexture* cloudTexture;
	CExplosion* cloudParticles;
	CExplosion* dyingParticles;

	CCloud();
	~CCloud();

	void Load();
	void Unload();
};

#endif